Reference
- 문제 출처 - HackerRank
- 파이썬 연습 - Practice - Python
개인적인 생각과 상상으로 작성한 내용들이 포함되어 있습니다
문제를 풀고 Discussion Tab을 참고하며 코드 스타일을 개선하려고 노력하고자 합니다
HackerRank
HackerRank의 Python 연습문제들은 아래와 같은 카테고리로 분류 된다
개인적인 생각과 상상으로 작성한 내용들이 포함되어 있습니다
문제를 풀고 Discussion Tab을 참고하며 코드 스타일을 개선하려고 노력하고자 합니다
CREATING SETS
|
MODIFYING SETSadd()
함수를 사용하는 방법과 update()
함수를 사용하는 방법이 있음
|
|
REMOVING ITEMSdiscard()
함수와 remove()
함수가 있으며 하나의 인자(argument)를 전달받아 집합에서 제거함
해당 데이터가 없으면 discard()
는 아무것도 안하지만 remove()
는 KeyError exception을 발생시킴
|
pop()
함수는 임의의 값을 반환하고 삭제clear()
함수는 집합에 있는 모든 값을 삭제
|
COMMON SET OPERATIONSunion()
, intersection()
그리고 difference()
함수가 있음
|
문제 : Ms. Gabriel Williams 의 온실에 있는 나무들의 평균키를 구하라
입력 : 총 나무의 수 N과 각 나무의 키를 입력 받는다
출력 : 나무들의 평균키
수행시간에 대한 최적화는 딱히 생각하지 않고 그냥 로직에 따라 구현
def average(array): |
문제 : 두 집합의 대칭차(symmetric difference)를 오름차순으로 출력해라
입력 : 원소 개수 M, M개의 원소들, 원소 개수 N, N개의 원소들 (4줄 입력)
출력 : 대칭차를 한줄씩 출력
대칭차를 구하는 함수 symmetric_difference()
를 사용
|
사실 1, 3번째 줄의 입력은 무의미하다
두개의 집합을 한줄로 입력 받는 방법을 기억해두자
a,b = [set(input().split()) for \_ in range(4)][1::2] |